const {
  getRecommentShopList,
  getGouwu
} = require('../../api/shop');

Page({
  data: {
    detail_id: 0,
    petDetail: null,
    cart: [], // 购物车
    cartVisible: false, // 控制购物车弹出层的显示与隐藏
    cartCount: 1, // 默认数量为1
    purchaseVisible: false, // 新增的弹出层显示状态
  },


  // 监听数量变化
  onChange(event) {
    this.setData({
      cartCount: event.detail
    });
  },
  // 提交订单
  onBuyNow() {
    const {
      petDetail,
      cartCount
    } = this.data;

    // 如果没有选择商品
    if (!petDetail) {
      wx.showToast({
        title: '请选择商品',
        icon: 'none'
      });
      return;
    }

    // 计算总价格
    const totalPrice = petDetail.price * cartCount;
    petDetail.count = cartCount;
    const cartItem = petDetail;


    // 构建订单数据
    const orderData = {
      cart:[{cartItem}],
      // cart: {
      //   0: {
      //     cartItem
      //   }, // 将 cartItem 放入 cart 下的 0 索引
      // },
      cartCount,
      totalPrice,
    };

    // 直接通过 URL 跳转到购买页面并传递数据
    wx.navigateTo({
      url: `/pages/purchase/purchase?orderData=${encodeURIComponent(JSON.stringify(orderData))}`
    });
  },
  onSubmit() {
    this.setData({
      purchaseVisible: true // 显示购买弹出层
    });
  },

  // 关闭购买弹出层
  onClosePurchase() {
    this.setData({
      purchaseVisible: false // 隐藏购买弹出层
    });
  },
  // 显示购物车弹出层
  onCartClick() {
    this.setData({
      cartVisible: true
    });
  },

  // 关闭购物车弹出层
  onClose() {
    this.setData({
      cartVisible: false
    });
  },

  // 页面加载时获取商品详情
  onLoad(options) {
    this.setData({
      detail_id: options.id
    });

    // 加载推荐商品列表
    getRecommentShopList(res => {
      this.setData({
        petDetail: res.data.list.find(item => item._id == this.data.detail_id)
      });
    }, options.page);
  },

  // 将商品加入购物车
  onShopcar() {
    const {
      petDetail,
      cartCount
    } = this.data;
    if (!petDetail) return;

    const userid = wx.getStorageSync('userid'); // 获取用户的 userid
    if (!userid) {
      wx.showToast({
        title: '请先登录',
        icon: 'none',
        duration: 2000
      });
      return;
    }

    // 创建购物车项，将当前商品与用户 ID 传递到后端
    const cartItem = {
      ...petDetail,
      count: cartCount, // 使用动态数量
      userid: userid // 用户 ID
    };

    console.log(cartItem); // 打印商品信息，调试用

    // 包装成数组传递给后端
    getGouwu(cartItem, res => {
      if (res.success) {
        wx.showToast({
          title: '已加入购物车',
          icon: 'success',
          duration: 2000
        });
      } else {
        wx.showToast({
          title: '已加入购物车',
          icon: 'none',
          duration: 2000
        });
      }
    });
  }
});